1. Technical Field
The present invention relates to multi-media devices and more particularly to systems and methods for providing a common streaming application architecture for use with different types of streaming applications and devices.
2. Description of the Related Art
In recent years multi-media has become pervasive on personal computers and other hardware devices. The most wide-spread multi-media application that almost all computer users are familiar with is the so-called “player”. Some of the most well-known players include the FLASH™ Player, the WINDOWS MEDIA™ Player, and the QUICKTIME™ Player. These players typically are capable of playing local multi-media files, but also are able to connect over a network to a server to receive a streamed multi-media presentation. The server that the player connects to in the latter case is another example of a multi-media application. Besides Video-On-Demand (VOD), i.e., serving stored files, these multi-media servers sometimes capture a live source such as from a camera or capture card and encode and stream this to connected players. Other, more dedicated “live servers” are implemented, for example, on so-called “IP-cameras”, which are typically used in surveillance applications. Multi-media servers may also be cascaded to realize scalability with respect to the number of users that can be connected to a live multi-media presentation.
These and other conceivable multi-media applications are typically dedicated programs that may share some of the underlying software. For example, a server that can be cascaded could use the same software for network input as a player would use. This modularity of the software has great advantages with respect to manageability of maintenance of the software, but more often than not, the application itself contains dedicated software to tie the various modules together to make up the specific application functionality.